package br.com.ceped.controlador;

import java.io.Serializable;
import java.util.List;

import org.hibernate.Session;

import br.com.ceped.dao.Dao;
import br.com.ceped.dao.IDao;
import br.com.ceped.modelo.Laboratorio;

public class ControladorLaboratorio implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public void cadastrar_laboratorio(Laboratorio laboratorio,Session s){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		dao.save(laboratorio);
	}
	
	public void remover_laboratorio(Laboratorio laboratorio,Session s){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		dao.delete(laboratorio);
	}
	
	public void editar_laboratorio(Laboratorio laboratorio,Session s){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		dao.update(laboratorio);
	}
	
	public Laboratorio procurar_laboratorio(Long codigo_laboratorio,Session s){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		return dao.load(codigo_laboratorio);
	}
	public Laboratorio procurar_laboratorio(String nome_campo, String valor_campo,Session s){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		return dao.load(nome_campo,valor_campo);
	}
	
	public Laboratorio procurar_laboratorio(String nome_campo, String valor_campo,String nome_campo2,Long valor_campo2, Session s){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		return dao.load(nome_campo, valor_campo, nome_campo2, valor_campo2);
	}
	
	public List<Laboratorio> listar_laboratorio(Session s){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		return dao.list("status", "ativo");
	}
	
	public List<Laboratorio> listar_laboratorio(Session s, String nome_campo, String valor_campo){
		IDao<Laboratorio> dao = new Dao<Laboratorio>(s, Laboratorio.class);
		return dao.list(nome_campo, valor_campo);
	}
}
